<!DOCTYPE HTML>
<html>
<head>
    <title>登录</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

    <!-- jquery -->
    <script type="text/javascript" src="./js/jquery.min.js"></script>
    <!-- bootstrap -->
    <link rel="stylesheet" type="text/css" href=" ./bootstrap/css/bootstrap.min.css"/>
    <script type="text/javascript" src="./bootstrap/js/bootstrap.min.js"></script>
    <!-- jquery-validator -->
    <script type="text/javascript" src="./jquery-validation/jquery.validate.min.js"></script>
    <script type="text/javascript" src="./jquery-validation/localization/messages_zh.min.js"></script>
    <!-- layer -->
    <script type="text/javascript" src="./layer/layer.js"></script>
    <!-- md5.js -->
    <script type="text/javascript" src="./js/md5.min.js"></script>
    <!-- common.js -->
    <script type="text/javascript" src="./js/common.js"></script>

</head>
<body>
<div class="panel panel-default">
    <div class="panel-heading">秒杀商品详情</div>
    <div class="panel-body">
        <span id="userTip"> 您还没有登录，请登陆后再操作<br/></span>
    </div>
    <table class="table" id="goodslist">
        <tr>
            <td>商品名称</td>
            <td colspan="3" id="goodsName"></td>
        </tr>
        <tr>
            <td>商品图片</td>
            <td colspan="3"><img id="goodsImg" width="200" height="200"/></td>
        </tr>
        <tr>
            <td>秒杀开始时间</td>
            <td id="startTime"></td>
            <td>
                <input type="hidden" id="remainSeconds"/>
                <span id="miaoshaTips">秒杀倒计时：<span id="countDown"></span>秒</span>
                <span id="miaoshaTip"></span>
            </td>
            <td>
                <div class="row">
                    <div class="form-inline">
                        <img id="verifyCodeImg" width="100" height="32" style="display:none" title="点击刷新"
                             onclick="refreshVerifyCode()"/>
                        <input id="verifyCode" class="form-control" style="display:none"/>
                        <button class="btn btn-primary" type="button" id="buyButton" onclick="getMiaoshaPath()">立即秒杀
                        </button>
                    </div>
                </div>
                <input type="hidden" name="goodsId" id="goodsId"/>
            </td>
        </tr>
        <tr>
            <td>商品原价</td>
            <td colspan="3" id="goodsPrice"></td>
        </tr>
        <tr>
            <td>秒杀价</td>
            <td colspan="3" id="miaoshaPrice"></td>
        </tr>
        <tr>
            <td>库存数量</td>
            <td colspan="3" id="stockCount"></td>
        </tr>
    </table>
</div>
</body>
<script>


    $(function () {
        getGoodsDetailVo();
    })

    function getGoodsDetailVo() {
        var goodsId = g_getQueryString("goodsId");
        $.ajax({
            url: "./goods/detach/detail/" + goodsId,
            type: "GET",
            success: function (data) {
                if (data.code == 0) {
                    var dataDetail = data.data;
                    render(dataDetail);
                } else {
                    layer.msg(data.message);
                }
            },
            error: function () {
                layer.msg("客户端请求错误");
            }
        });
    }

    function render(detail) {
        var status = detail.status;

        var secKillStatus = detail.secKillStatus;
        var remainSeconds = detail.remainSeconds;
        var user = detail.user;
        var goodsVo = detail.goodsVO;
        if (user) {
            $("#userTip").hide();
        }
        $("#goodsName").text(goodsVo.goodsName);
        $("#goodsImg").attr("src", goodsVo.goodsImg);
        $("#startTime").text(goodsVo.startTime);
        $("#remainSeconds").val(remainSeconds);
        $("#goodsId").val(goodsVo.id);
        $("#goodsPrice").text(goodsVo.goodsPrice);
        $("#miaoshaPrice").text(goodsVo.price);
        $("#stockCount").text(goodsVo.goodsStock);


        countDown(status);
    }


    function countDown(status) {
        var remainSeconds = $("#remainSeconds").val();
        var timeout;
        if (remainSeconds > 0) {//秒杀还没开始，倒计时
            $("#buyButton").attr("disabled", true);
            $("#miaoshaTips").show();
            timeout = setTimeout(function () {
                $("#countDown").text(remainSeconds - 1);
                $("#remainSeconds").val(remainSeconds - 1);
                countDown();
            }, 1000);
        } else if (remainSeconds == 0) {//秒杀进行中

            if(status){
                $("#buyButton").attr("disabled", true);
            }else{
                $("#buyButton").attr("disabled", false);

            }

            $("#miaoshaTips").hide();
            if (timeout) {
                clearTimeout(timeout);
            }
            $("#verifyCodeImg").attr("src", "./sec/kill/verifyCode?goodsId=" + $("#goodsId").val());
            $("#miaoshaTip").html("秒杀进行中");
            $("#verifyCodeImg").show();
            $("#verifyCode").show();

        } else {//秒杀已经结束
            $("#buyButton").attr("disabled", true);
            $("#miaoshaTip").html("秒杀已经结束");
            $("#miaoshaTips").hide();

            $("#verifyCodeImg").hide();
            $("#verifyCode").hide();
        }
    }


    function doMiaoSha() {
        var goodsId = $("#goodsId").val();
        $.ajax({
            url: "./sec/detach/kill/" + goodsId,
            type: "GET",
            success: function (data) {
                if (data.code == 0) {
                    var orderId = data.data.id;
                    window.location.href = "./order_detail.htm?orderId=" + orderId;
                } else {
                    layer.msg(data.message);
                }
            },
            error: function () {
                layer.msg("客户端请求错误!");
            }
        });
    }


    function getMiaoshaPath() {
        var goodsId = $("#goodsId").val();
        var code= $("#verifyCode").val()
        if(!code){
            layer.msg("请输入验证码");
        }
        $.ajax({
            url: "./sec/kill/path",
            type: "GET",
            data: {
                goodsId: goodsId,
                code: $("#verifyCode").val()
            },
            success: function (data) {
                if (data.code == 0) {
                    var path = data.data;
                    mqMiaoShaGoods(path);
                } else {
                    layer.msg(data.message);
                }

            },
            error: function () {
                layer.msg("客户端请求错误");
            }
        });
    }


    function mqMiaoShaGoods(path) {
        var goodsId = $("#goodsId").val();
        $.ajax({
            url: "./sec/mq/" + path + "/kill",
            type: "GET",
            data: {
                goodsId: goodsId,
            },
            success: function (data) {
                console.log(data);
                if (data.code == 0) {
                    getMiaoshaResult(goodsId);
                } else {
                    layer.msg(data.message);
                }

            },
            error: function () {
                layer.msg("客户端请求错误");
            }
        });
    }


    function getMiaoshaResult(goodsId) {
        g_showLoading();
        $.ajax({
            url: "./sec/kill/result",
            type: "GET",
            data: {
                goodsId: goodsId,
            },
            success: function (data) {
                console.log(data);
                if (data.code == 0) {
                    var result = data.data;
                    if (result < 0) {
                        layer.msg("对不起，秒杀失败");
                    } else if (result == 0) {
                        setTimeout(function () {
                            getMiaoshaResult(goodsId);
                        }, 200)
                    } else {
                        $("#buyButton").attr("disabled", true);
                        layer.confirm("恭喜你，秒杀成功！查看订单？", {btn: ["确定", "取消"]},
                            function () {
                                window.location.href = "./order_detail.htm?orderId=" + result;
                            },
                            function () {
                                layer.closeAll();
                            }
                        )
                    }
                } else {
                    layer.msg(data.message);
                }

            },
            error: function () {
                layer.msg("客户端请求错误");
            }

        });
    }


    function refreshVerifyCode() {
        $("#verifyCodeImg").attr("src", "./sec/kill/verifyCode?goodsId=" + $("#goodsId").val()+"&timestamp="+new Date().getTime());
    }

</script>
</html>